GUI و اجزای آن یکی از مباحث مهم در آزمونهای LPIC و RHCSA است. حتماً تفاوت Xorg و Wayland را حفظ کنید.
🖥️ قبل از شروع، یه مثال ساده:
فرض کن لینوکس مثل یه ساختمان است. خط فرمان (CLI) مثل راهپلههاست (کارآمد ولی کند). GUI مثل آسانسور است (سریع، راحت و با دکمههای گرافیکی). توی این جلسه، یاد میگیریم چطور آسانسور رو نصب و راهاندازی کنیم و با اجزای مختلفش آشنا بشیم!
▍ GUI چیست؟
GUI مخفف Graphical User Interface (رابط کاربری گرافیکی) است. مجموعهای از برنامهها که به کاربر امکان میدهد از طریق آیکونها، پنجرهها، منوها و ماوس با سیستم تعامل داشته باشد، بدون نیاز به تایپ دستورات خط فرمان.
🔑 سه لایه اصلی GUI در لینوکس:
- Desktop Environment (DE): محیط دسکتاپ (مثل GNOME، KDE، Cinnamon، MATE)
- Window Manager (WM): مدیریت پنجرهها (مثل Mutter، Kwin، Muffin، Marco)
- Display Server: ارتباط با سختافزار گرافیکی و صفحه نمایش (مثل Xorg، Wayland)
▍ تاریخچه Display Serverها
🔴 XFree86 (قدیمی)
- از سال ۱۹۸۰ در توزیعهای لینوکس و یونیکس استفاده میشد.
- در سال ۲۰۰۴ به دلیل مشکلات لایسنس (GPL) از دور خارج شد.
- همه توزیعها به سمت Xorg مهاجرت کردند.
🔵 Xorg (پیشفرض)
- از سال ۲۰۰۴ جایگزین XFree86 شد.
- با نامهای X11 یا X نیز شناخته میشود.
- هنوز هم در بسیاری از توزیعها پیشفرض است.
- پشتیبانی عالی از سختافزارهای قدیمی و جدید.
🟢 Wayland (جدید)
- چند سال بعد از Xorg معرفی شد.
- تنظیمات بیشتر و پشتیبانی بهتر از سختافزارهای جدید.
- به سرعت در حال محبوبشدن است.
- در توزیعهایی مانند Fedora و Ubuntu به عنوان پیشفرض در حال جایگزینی Xorg است.
ترتیب تاریخی: XFree86 (۱۹۸۰) → Xorg (۲۰۰۴) → Wayland (چند سال بعد از Xorg)
Xorg = X11 (هر دو یک چیز هستند). Wayland جایگزین جدیدتر و مدرنتر است.
▍ نصب GUI در دبیان/کالی
🔹 مرحله ۱: بهروزرسانی مخازن
┌──(ya3in㉿kali)-[~]
└─$ sudo apt update
🔹 مرحله ۲: نصب محیط دسکتاپ GNOME (محبوبترین)
┌──(ya3in㉿kali)-[~]
└─$ sudo apt install gnome gnome-extra
توضیح: gnome محیط دسکتاپ اصلی و gnome-extra برنامههای جانبی (مثل ویرایشگر، ماشینحساب و ...) را نصب میکند.
🔹 مرحله ۳: نصب Display Manager (GDM)
┌──(ya3in㉿kali)-[~]
└─$ sudo apt install gdm3
توضیح: gdm3 (GNOME Display Manager) صفحه ورود (Login Screen) را مدیریت میکند.
🔹 مرحله ۴: تنظیم پیشفرض (اختیاری)
┌──(ya3in㉿kali)-[~]
└─$ sudo systemctl set-default graphical.target
توضیح: این دستور باعث میشود سیستم در بوت بعدی بهصورت خودکار وارد محیط گرافیکی شود.
🔹 مرحله ۵: ریاستارت
┌──(ya3in㉿kali)-[~]
└─$ sudo reboot
در دبیان/کالی، برای نصب GUI معمولاً از apt install gnome gdm3 استفاده میشود.
▍ نصب GUI در رد هت (AlmaLinux/CentOS/RHEL)
🔹 مرحله ۱: بهروزرسانی مخازن
┌──(user㉿almalinux)-[~]
└─$ sudo dnf update
🔹 مرحله ۲: نصب گروه "Server with GUI"
┌──(user㉿almalinux)-[~]
└─$ sudo dnf groupinstall "Server with GUI"
توضیح: این گروه شامل محیط دسکتاپ GNOME و ابزارهای مدیریتی برای سرورها است.
🔹 مرحله ۳: نصب گروه "Workstation" (اختیاری)
┌──(user㉿almalinux)-[~]
└─$ sudo dnf groupinstall "Workstation"
توضیح: این گروه شامل برنامههای کاربردی بیشتر و محیط دسکتاپ کاملتر است.
تفاوت گروهها در رد هت:
"Server with GUI" → محیط گرافیکی + ابزارهای مدیریت سرور
"Workstation" → محیط گرافیکی کامل + برنامههای کاربردی
🔹 مرحله ۴: تنظیم پیشفرض به graphical.target
┌──(user㉿almalinux)-[~]
└─$ sudo systemctl set-default graphical.target
🔹 مرحله ۵: ریاستارت
┌──(user㉿almalinux)-[~]
└─$ sudo reboot
در رد هت برای نصب GUI از dnf groupinstall "Server with GUI" و برای تنظیم بوت گرافیکی از systemctl set-default graphical.target استفاده میشود.
▍ مقایسه نصب GUI در دبیان و رد هت
| مرحله |
Debian/Kali |
Red Hat (AlmaLinux) |
| مدیر بسته |
apt |
dnf |
| نصب GUI |
apt install gnome gdm3 |
dnf groupinstall "Server with GUI" |
| تنظیم بوت گرافیکی |
systemctl set-default graphical.target |
systemctl set-default graphical.target |
✅ جمعبندی نهایی برای امتحان:
- GUI = Desktop Environment + Window Manager + Display Server
- Desktop Environment: GNOME, KDE, Cinnamon, MATE
- Window Manager: Mutter (GNOME), Kwin (KDE), Muffin (Cinnamon)
- Display Server: XFree86 (قدیمی) → Xorg (پیشفرض) → Wayland (جدید)
- Xorg = X11 (هر دو یک چیز هستند)
- نصب در دبیان:
apt install gnome gdm3
- نصب در رد هت:
dnf groupinstall "Server with GUI"
- تنظیم بوت گرافیکی:
systemctl set-default graphical.target